查看原文
其他

明明是统计学,为什么叫机器学习?

石头 数据力学 2022-08-17

作为一个非科班出身的资深程序员,跨入大数据世代,面对层出不穷的新概念、新技术,眼前不觉一片茫然。顿时有一种已经被时代抛弃的感觉,失望、落寞......

失望归失望,依然有着雄心壮志,决定东山再起,能比当年的C++更难吗?

学习之前,先问百度:机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

前半句太吓人,后半句太神奇,这是我看完百度百科上后的感受。于是,决定不走平常路,决定按照自己的逻辑来解释机器学习。

一、基于明确规则的系统

下面是一个据说文科生难以看懂,即使看懂了也难以理解的古老笑话:

老婆给当程序员的老公打电话:“下班顺路买一斤包子带回来,如果看到卖西瓜的,就买一个。”

当晚,程序员老公手捧一个包子进了家门……

老婆怒道:“你怎么就买了一个包子?!”

老公答曰:“因为看到了卖西瓜的。”

好冷的笑话。为了照顾文科生,先画蛇添足的补充说明一下。这就是基于规则的系统逻辑。笑话中的老婆充当了一个临时程序员的角色,写了一段非常简单的程序代码。笑话中的老公显然是被电脑程序同化了,按照机器的逻辑理解为,买一斤包子,注意,程序还没结束,后面还有其他条件,那就是,如果看到西瓜,那就买一个包子。难道这么简单的道理程序员都不明白?对不起,机器学习出现之前,机器是不跟你讲道理的。它的天职是,不折不扣的执行命令。我们有时候也戏称之为手把手教系统

二、基于统计概率的系统

关于程序员买西瓜和包子笑话,续集:

老婆给当程序员的老公打电话:下班顺路买一斤包子带回来,如果看到卖榴莲的,就买一个。

有了上次因为看到西瓜从而只买了一个包子,回家被老婆K的经历,老公变聪明了。但又遇到新问题了,于是问老婆:“榴莲长啥样啊?”老婆在电话里绘声绘色的描述道:”椭圆形的,外壳看起来坑坑洼洼的,熟的榴莲是外壳呈金黄色,闻起来很香。“末了还不忘加一句:”很好吃的。“

当晚,程序员左手拎着一斤包子,右手提着一个金黄色的菠萝进了家门...

老婆看了一眼,期待的眼神立刻暗了下来。心里暗暗琢磨:”难道是故意的?没有榴莲壳,看上次那个键盘扔哪去了呢?“

看到此处,不得不提醒一下即将进入职场的孩童:”程序员有风险,入行需谨慎!“

这里先介绍一下专家系统(人工智能发展过程一个非常重要的阶段,此处不细表)。简单的来讲,程序员事先为机器提供一系列的条件组合以及相应可能出现的结果,我们暂且称之为知识库。用户根据自己当时的情况,在系统提示下,选择或者输入一些列的特征参数的值,机器根据知识库提出最有可能的参考答案。

专家系统已经出现了很多很多年了,但其命运跟专家一样——很大概率下,不受大家待见。

专家系统的知识来源,一部分是确定的知识,例如,人体温度超高了37度,意味着发烧。另一部分知识来自于对历史数据做出的统计,例如,根据统计,过去10年,国庆黄金周全国出游人数不断攀升,增长率超过16%,其中2018年出游人数达到7.26亿人次。在此基础上,专家系统可以做出相应的预测,例如,2019年的国庆黄金周出游人数。当然,这样的预测结果准确性是有一定的概率的。

三、机器学习

如果你曾经像我一样对机器学习表现出好奇的话,就会发现只要谈机器学习,就离不开算法,而且绝大部分都是统计算法(基于统计概率的年代,一般都不能把话说得说得太死)。为了不吓到大家,也避免不懂装懂,仅此罗列算法啦。那问题来了,明明是统计学,为什么非得叫”机器学习“呢?

严格意义来讲,传统的专家系统依然是基于规则的系统。因为,所有基于统计的知识,是由领域专家,基于样本数据进行分析,总结出相应的统计规律。程序员的工作是把这些规律转化为程序代码,相应的专家系统依然是按照既定的规则做出相应的判断。

因此,专家系统的知识是由人通过统计、分析、学习、归纳总结而来。相对应的,所谓机器学习,就是把这个学习过程交给机器去完成。由于近些年可以用于分析的数据量剧增,计算机的计算能力也今非昔比,使得机器学习在特定领域解决问题的能力远远超出人脑。

相同的算法,不一样的数据量,不一样的计算能力,计算机替代人脑,当然是不一样的味道。

搞清楚了机器学习跟算法的关系,那深度学习又是什么呢?是不是计算机没日没夜不停的学习呢?嗯,看来又有新的问题。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存